package org.hy.persistence.friends;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.hy.domain.friends.FriendTag;

public interface FriendTagMapper {

	/**
	 * 分页查找好友及其标签
	 * @param uid 用户id
	 * @param offset 偏移量
	 * @param size 数目
	 * @return 好友标签列表
	 */
	List<FriendTag> findFriendWithTagByUid(@Param("uid")int uid,@Param("offset")int offset,@Param("size")int size);
	
	/**
	 * 根据标签名分页查找好友
	 * @param uid 用户Id
	 * @param tagName 标签名
	 * @param offset 
	 * @param size
	 * @return
	 */
	List<FriendTag> findFriendByTagName(@Param("uid") int uid,@Param("tagName")String tagName,@Param("offset")int offset,@Param("size")int size);

	/**
	 * 统计用户的好友标签下好友人数
	 * @param uid 用户id
	 * @return 标签名(tagName)->好友数目的map列表
	 */
	List<Map<String,Integer>> countFriendTagByUid(int uid);
	
	/**
	 * 新增好友标签
	 * @param friendTag 好友标签对象
	 * @return
	 */
	int insertFriendTag(FriendTag friendTag);
	/**
	 * 删除好友标签
	 * @param id 标签id
	 * @return
	 */
	int deleteFriendTag(int id);
	/**
	 *  删除好友标签
	 * @param tagName 标签名
	 * @return 
	 */
	int deleteFriendTag(String tagName);
	
	
}
